select * from SaoJose2020..Estoque 
select * from SaoJose2020..Departamento
select * from SaoJose2020..PRODUTOS



--- cadastrar tributacao

--migração de seções
set identity_insert BancoGerencial..Secao on
insert into BancoGerencial..Secao(
Codigo,
Descricao,
DataHoraUltimaGravacao,
UsuarioUltimaGravacao)
select 
sec.CODIGO,
rtrim(ltrim(sec.DESCRICAO)),
GETDATE(),
'MIGRAÇÃO'
from SaoJose2020..Departamento as sec
set identity_insert BancoGerencial..Secao off

--acerta produto sem seção
update SaoJose2020..Estoque set DEPARTAMENTO = '0' where DEPARTAMENTO is null;

set identity_insert BancoGerencial..Secao on
insert into Secao(Codigo, Descricao, DataHoraUltimaGravacao, UsuarioUltimaGravacao) values (1, 'SEM SEÇÃO', GETDATE(), 'MIGRAÇÃO');
set identity_insert BancoGerencial..Secao off

--ATUALIZA SEÇÃO ERRADAS
update SaoJose2020..Estoque set DEPARTAMENTO = '1' where DEPARTAMENTO in (0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
28,
29,
31,
32,
34,
36,
38,
39,
40,
41,
44,
45,
47,
49,
50,
52,
53,
54,
55,
57,
58);


--migração de produtos
set identity_insert BancoGerencial..Produto on
insert into BancoGerencial..Produto(
Codigo,
Descricao, 
CodSecao, 
Unidade, 
NCM, 
ProdutoBal, 
TipoBalanca, 
CodigoBalanca,
DescricaoBalanca,
Ativo, 
PermiteDecimal, 
DescricaoResumida)
select 
prd.CODIGO,
rtrim(ltrim(prd.DESCRICAO)), 
prd.DEPARTAMENTO, 
prd.unidade, 
prd.ncm,
'', 
'', 
'',
'',
prd.INATIVO,
'N', 
''
from SaoJose2020..Estoque as prd
where prd.CODIGO > 0
set identity_insert BancoGerencial..Produto off


-- insere tributação
update BancoGerencial..Produto
set CodTributacao = 2, NomeTributacao = '5405';

-- atualiza a descrição do ncm
update Produto
set DescricaoNCM = SUBSTRING(n.Descricao, 1,160)
from (select * from NCM) as n
where n.NCM = Produto.NCM

--atualiza a descrição da seção
update Produto
set NomeSecao = sec.Descricao
from (select Codigo, Descricao from Secao) as sec
where sec.Codigo = Produto.CodSecao

--inserer ProdutoEstoque
insert into ProdutoEstoque(
CodProduto, CodEmp, EstoqueAtual, EstoqueCongelado)
select
prd.CODIGO, 1, prd.SALDO, 'N'
from SaoJose2020..Estoque as prd
where prd.CODIGO > 0;


--insere estoque movimentações
insert into Estoque(
CodProduto, TipoMovimento, Quantidade, Entrada, Venda, CodEmp, Data, Observacao)
select
prd.CODIGO, 'E', prd.SALDO, 0, 0, 1, GETDATE(), 'MIGRAÇÃO'
from SaoJose2020..Estoque as prd
where prd.SALDO > 0 and prd.Codigo > 0;



-- insere preço
insert into BancoGerencial..ProdutoPreco(
CodProduto,
CodEmp,
PrecoCusto,
PrecoVenda,
PrecoVendaPrazo
)
select 
prd.CODIGO,
1,
prd.PCUSTO,
prd.PVENDA,
prd.PVENDA
from SaoJose2020..Estoque as prd
where prd.CODIGO > 0;


--inserer EAN
insert into EAN(
EAN, CodProduto)
select
prd.CODBARRA, prd.CODIGO
from SaoJose2020..Estoque as prd
where CODIGO > 0;

update ProdutoPreco set PrecoPromocao = 0, DataInicioPromocao = '1900-01-01', DataFimPromocao = '1900-01-01', DiferencaGelado = 0;

update ProdutoEstoque set EstoqueMinimo = 0, EstoqueMaximo = 0

update ProdutoEstoque
set EstoqueMinimo = SALDOMINIMO, EstoqueMaximo = SALDOMAXIMO
from (select CODIGO, SALDOMINIMO, SALDOMAXIMO from SaoJose2020..Estoque) as n
where n.CODIGO = ProdutoEstoque.CodProduto;

update ProdutoEstoque set EstoqueMinimo = 0 where EstoqueMinimo is null;
update ProdutoEstoque set EstoqueMaximo = 0 where EstoqueMaximo is null;

update Produto set Ativo = 'S';

update Produto
set Ativo = 'N'
from (select CODIGO, INATIVO from SaoJose2020..Estoque) as n
where n.CODIGO = Produto.Codigo and n.INATIVO = '*'

select CODIGO, DESCRICAO, PVENDA, PVendaG, PVendaG - PVENDA from SaoJose2020..Estoque where PVENDA <> PVendaG

---ACERTA GELADO
update ProdutoPreco 
set DiferencaGelado = preco
from (SELECT PVendaG - PVENDA  as preco, CODIGO
FROM SaoJose2020..Estoque WHERE PVENDA <> PVendaG) as n
where n.CODIGO = CodProduto;

select CODIGO, DESCRICAO, PVENDA, PVendaG, PVendaG - PVENDA, Marcar, Multiplo, * from SaoJose2020..Estoque where PVENDA <> PVendaG

select * from ProdutoPreco where CodProduto = 47654

--ajustar produto balança
update Produto set PermiteDecimal = 'S', ProdutoBal = 'S', TipoBalanca = 'P', CodigoBalanca = n.CODBALANCA, DescricaoBalanca = rtrim(ltrim(substring(n.DESCRICAO,1,22)))
from (select CODIGO, DESCRICAO, CODBARRA, SUBSTRING(CODBARRA, 3,3) CODBALANCA  from SaoJose2020..Estoque WHERE CODBARRA LIKE '20%') as n
where n.CODIGO = Produto.Codigo;


-- insere fornecedor no produto
insert into BancoGerencial..ProdutoFornecedor(
CodProduto,
CodFornecedor,
QuantidadeEmbalagem
)
select 
prd.CODIGO,
prd.FORNECEDOR,
1
from SaoJose2020..Estoque as prd
where prd.CODIGO > 0;

--ajusta nome do fornecedor
update ProdutoFornecedor
set NomeFornecedor = sec.Nome
from (select Codigo, Nome from Fornecedor) as sec
where sec.Codigo = ProdutoFornecedor.CodFornecedor

delete from ean where ean = ''



